package com.eco.fanliapp.taobao;

import com.eco.fanliapp.utils.DateUtils;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.TbkDgVegasTljCreateRequest;
import com.taobao.api.request.TbkDgVegasTljInstanceReportRequest;
import com.taobao.api.response.TbkDgVegasTljCreateResponse;
import com.taobao.api.response.TbkDgVegasTljInstanceReportResponse;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Service
public class TljController {


    /**
     * 淘礼金生成
     *
     * @param
     * @return
     */
    @RequestMapping(value = "/taobao/tljCreate", method = RequestMethod.GET)
    public TbkDgVegasTljCreateResponse tljCreate(Long adzoneId, Long itemId, Long totalNum,
                                              String name, String perFace, String sendStartTime, String sendEndTime
            , String useEndTime, String useStartTime, Long useEndTimeMode) {

        TaobaoClient client = new DefaultTaobaoClient(Config.TAO_URL, Config.TAO_APPKEY, Config.TAO_APPSECRET);
        TbkDgVegasTljCreateRequest req = new TbkDgVegasTljCreateRequest();

//        req.setCampaignType("定向：DX；鹊桥：LINK_EVENT；营销：MKT");//	CPS佣金计划类型 定向：DX；鹊桥：LINK_EVENT；营销：MKT
        req.setAdzoneId(adzoneId);//妈妈广告位Id
        req.setItemId(itemId);//宝贝id
        req.setTotalNum(totalNum);//	淘礼金总个数
        req.setName(name);//淘礼金名称，最大10个字符
        req.setUserTotalWinNumLimit(1L);//单用户累计中奖次数上限
        req.setSecuritySwitch(true);//	安全开关 启动安全：true；不启用安全：false
        req.setPerFace(perFace);//单个淘礼金面额，支持两位小数，单位元
        req.setSendStartTime(DateUtils.datestr2Date(sendStartTime, null));//	发放开始时间
        req.setSendEndTime(DateUtils.datestr2Date(sendEndTime, null));//发放截止时间
        req.setUseEndTime(useEndTime);//使用结束日期。如果是结束时间模式为相对时间，时间格式为1-7直接的整数, 例如，1（相对领取时间1天）； 如果是绝对时间，格式为yyyy-MM-dd，例如，2019-01-29，表示到2019-01-29 23:59:59结束
        req.setUseEndTimeMode(useEndTimeMode);//结束日期的模式,1:相对时间，2:绝对时间
        req.setUseStartTime(useStartTime);//使用开始日期。相对时间，无需填写，以用户领取时间作为使用开始时间。绝对时间，格式 yyyy-MM-dd，例如，2019-01-29，表示从2019-01-29 00:00:00 开始

        TbkDgVegasTljCreateResponse response = null;
        try {
            response = client.execute(req);
        } catch (ApiException e) {
            e.printStackTrace();
        }
        if (response != null && response.getResult() != null && response.getResult().getSuccess()) {
            return response;
        } else {
            return null;
        }
    }
    /**
     * 淘礼金发放及使用报表
     *
     * @param
     * @return
     */
    @RequestMapping(value = "/taobao/tljReport", method = RequestMethod.GET)
    public TbkDgVegasTljInstanceReportResponse tljReport(String rightsId) {

        TaobaoClient client = new DefaultTaobaoClient(Config.TAO_URL, Config.TAO_APPKEY, Config.TAO_APPSECRET);
        TbkDgVegasTljInstanceReportRequest req = new TbkDgVegasTljInstanceReportRequest();

        req.setRightsId("UZvYlKXRdTIBf%2B%2F%2FIV9MGw%3D%3D");

        TbkDgVegasTljInstanceReportResponse response = null;
        try {
            response = client.execute(req);
        } catch (ApiException e) {
            e.printStackTrace();
        }
        if (response != null && response.getResult() != null && response.getResult().getSuccess()) {
            return response;
        } else {
            return null;
        }
    }



}
